/**
 * 977 有序数组的平方
 */
public class SortNumSquare {



    public static int[] numSquare(int[] nums){

        int nav=-1;
        int n=nums.length;
        for (int i = 0; i <nums.length ; i++) {
            if(nums[i]<0){
                nav=i;
            }else {
                break;
            }
        }
        int[] sortNum=new int[n];
        int idex=0; int i=nav; int j=nav+1;
        while (i>=0||j<n){
            if(i<0){
                sortNum[idex]=nums[j]*nums[j];
                j++;
            }else if(j==n){
                sortNum[idex]=nums[i]*nums[i];
                i--;
            }
            else if(nums[i]*nums[i]<nums[j]*nums[j]){
                sortNum[idex]=nums[i]*nums[i];
                i--;
            }else {
                sortNum[idex]=nums[j]*nums[j];
                j++;
            }
            idex++;
        }
        return sortNum;
    }

    public static void main(String[] args) {
        int[] nums={-1};
        int[] sort=numSquare(nums);
        System.out.println(sort);
    }
}
